Contribution org.nuxeo.ecm.platform.video.tools.commandlines--command
In component org.nuxeo.ecm.platform.video.tools.commandlines
org.nuxeo.ecm.platform.video.tools.commandlines
inside nuxeo-platform-video-2023.14.23.jar /OSGI-INF/video-tools-commandlines-contrib.xml
You can influence this order by adding "require" tags in the containing component declaration, to make sure it is resolved after another component (see "Resolution Order" on components).
This contribution is part of XML component Extension Point
Extension point command of component CommandLineExecutorComponent.Registration Order
10
The registration order represents the order in which this contribution was registered on its target extention
point.
This will impact the override/merge behaviour when it is implemented on the target service, and is useful for
proper customization of existing contributions.
You can influence this order by adding "require" tags in the containing component declaration, to make sure it is resolved after another component (see "Resolution Order" on components).
Contributed Items
XML Source
<extension point="command" target="org.nuxeo.ecm.platform.commandline.executor.service.CommandLineExecutorComponent">
<command enabled="true" name="videoClosedCaptionsExtractor">
<commandLine>ccextractor</commandLine>
<parameterString>#{sourceFilePath} -out=#{outFormat} -trim -o #{outFilePath}
</parameterString>
<installationDirective>You need to install ccextractor.</installationDirective>
</command>
<command enabled="true" name="videoPartClosedCaptionsExtractor">
<commandLine>ccextractor</commandLine>
<parameterString>#{sourceFilePath} -out=#{outFormat} -startat #{startAt} -endat #{endAt} -trim -o #{outFilePath}
</parameterString>
<installationDirective>You need to install ccextractor.</installationDirective>
</command>
<command enabled="true" name="videoConcat">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -f concat -safe 0 -i #{listFilePath} -c copy #{outFilePath}</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
<!-- This one is very fast, but you may miss frames. Use it when you are sure you'll get the correct cut -->
<command enabled="true" name="videoSlicerByCopy">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -i #{sourceFilePath} -ss #{startAt} -t #{duration} -c copy #{outFilePath}</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
<!-- This on is the basic slicing. It re-encodes the video, so it it is slower than videoSlicerCopy -->
<command enabled="true" name="videoSlicer">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -i #{sourceFilePath} -ss #{startAt} -t #{duration} #{outFilePath}</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
<!-- This enables video slicing starting from the specific time -->
<command enabled="true" name="videoSlicerStartAt">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -i #{sourceFilePath} -ss #{startAt} #{outFilePath}</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
<!-- Slices in n segment of #duration each. outFilePath is an expression
(OUT%03d.mp4 for example) so ffmpeg creates one file/segment -->
<command enabled="true" name="videoSlicerSegments">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -i #{sourceFilePath} -map 0 -c copy -f segment -segment_time #{duration} -reset_timestamps 1
#{outFilePath}
</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
<!-- filterComplex is the full filter. For example: "overlay=10:10" -->
<command enabled="true" name="videoWatermarkWithPicture">
<commandLine>ffmpeg</commandLine>
<parameterString>-y -i #{sourceFilePath} -i #{pictureFilePath} -filter_complex #{filterComplex} #{outFilePath}
</parameterString>
<installationDirective>You need to install ffmpeg.</installationDirective>
</command>
</extension>